package com.seng.resourcetycoon.services;


public interface GameStateHandler {

    /**
     * Initializes the game state with necessary services.
     *
     * @param gamePlayService Service responsible for managing game payments.
     */
    void initialize(GamePlayService gamePlayService);

    /**
     * Begins or resumes the active processing of the game state.
     */
    void begin();
    /**
     * Pauses the processing of the game state without disposing resources.
     */
    void suspend();
    /**
     * Resumes the processing after being paused.
     */
    void continueProcessing();
    /**
     * Cleans up and releases any resources held by the game state.
     *
     * @param gamePlayService Service to interact with for any cleanup related to payments.
     */
    void cleanup(GamePlayService gamePlayService);
}
